//
//
//
// Array.prototype[Symbol.iterator] = function() {
//     let arr = [].concat(this)
//     let getFirst = function(array) {
//         let first = array.shift()
//         if (first instanceof  Array) {
//             if (first.length > 1) {
//                 arr = first.slice(1).concat(array)
//             }
//             first = first[0]
//         }
//         return first
//     }
//
//     return {
//         next: function() {
//             let item = getFirst(arr)
//             if (item) {
//                 return {
//                     value: item,
//                     done: false
//                 }
//             } else {
//                 return {
//                     done: true
//                 }
//             }
//
//         }
//     }
// }
//
// var flat = function(arr) {
//     let res = []
//     for (let i of arr) { res.push(i) }
//     return res.join(',')
// }
// var arr = ['a', ['b', 'c'], '2', ['d', 'e', 'f'], 'g', 3, 4];
// console.log(flat(arr))
